FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
{% block labels %}
LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
{% endblock %}

{% block barbican_base_header %}{% endblock %}

{% import "macros.j2" as macros with context %}

{{ macros.configure_user(name='barbican', groups='nfast') }}

{% if install_type == 'binary' %}
    {% if base_package_type == 'rpm' %}
        {% set barbican_base_packages = ['openstack-barbican-common'] %}
    {% elif base_package_type == 'deb' %}
        {% set barbican_base_packages = ['barbican-common'] %}
    {% endif %}

{{ macros.install_packages(barbican_base_packages | customizable("packages")) }}

{% elif install_type == 'source' %}
    {% if base_package_type == 'rpm' %}
        {% set barbican_base_packages = ['uwsgi-plugin-python3'] %}
    {% elif base_package_type == 'deb' %}
        {% set barbican_base_packages = ['uwsgi-plugin-python3'] %}
    {% endif %}

{{ macros.install_packages(barbican_base_packages | customizable("packages")) }}

{% set barbican_base_pip_packages = [
    '/barbican',
    'mysqlclient',
    'pastedeploy',
    'python-barbicanclient',
    'uwsgi'
] %}

ADD barbican-base-archive /barbican-base-source
RUN ln -s barbican-base-source/* barbican \
    && {{ macros.install_pip(barbican_base_pip_packages | customizable("pip_packages")) }} \
    && mkdir -p /etc/barbican \
    && cp -r /barbican/etc/barbican/* /etc/barbican/ \
    && chown -R barbican: /etc/barbican

{% endif %}

COPY barbican_sudoers /etc/sudoers.d/kolla_barbican_sudoers
COPY extend_start.sh /usr/local/bin/kolla_extend_start

RUN chmod 750 /etc/sudoers.d \
    && chmod 640 /etc/sudoers.d/kolla_barbican_sudoers \
    && touch /usr/local/bin/kolla_barbican_extend_start \
    && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_barbican_extend_start

{% block barbican_base_footer %}{% endblock %}
